home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / pascal / xlib.zip / XFILE.INT < prev    next >
Text File  |  1992-09-06  |  4KB  |  85 lines

  1. {*****************************************************************************}
  2. {                                                                             }
  3. {         filename        : XFILE.PAS                                         }
  4. {         author          : Stefan Boether / Compuserve Id : 100023,275       }
  5. {                                                  FidoNet :  2:242/200       }
  6. {                                                  FidoNet :  2:243/91        }
  7. {                                   Internet: 100023.275@CompuServe.COM       }
  8. {                                         Maus-Net: Stefan Böther @ HRO       }
  9. {         system          : TURBO 6.01 / TPW 1.5 / DOS 3.3 / WIN 3.1          }
  10. {         changes         :                                                   }
  11. {         when    what                                                who     }
  12. { --------------------------------------------------------------------------- }
  13. {*****************************************************************************}
  14. {   Description :   File access Objects                                       )
  15. {*****************************************************************************}
  16. {Header-End}
  17.  
  18. unit XFile;
  19.  
  20. {$I-,X+,V-,D-}
  21. {$IFNDEF Windows} {$O+} {$ENDIF}
  22.  
  23. interface
  24.  
  25.   USES {$IFDEF Windows }
  26.          WinDos,
  27.          WObjects,
  28.          DPMI,
  29.          OEtc,
  30.        {$ELSE}
  31.          Objects,
  32.        {$ENDIF}
  33.          DOS;
  34.  
  35.   TYPE   PFile = ^TFile;
  36.          TFile = object(TObject)
  37.            FileName : PathStr;
  38.            F        : File;
  39.            Buffer   : TextBuf;
  40.            Status   : Integer;
  41.            constructor Init(AName:PathStr);
  42.            destructor  Done; virtual;
  43.            function    Error(Code:Integer):boolean; virtual;
  44.  
  45.            function    Open:Boolean; virtual;
  46.            function    Create:Boolean; virtual;
  47.            procedure   Close; virtual;
  48.            function    Exists:Boolean; virtual;
  49.            procedure   Delete; virtual;
  50.            procedure   Seek ( Pos:Longint ); virtual;
  51.            procedure   Write( var Buf; Count:Word ); virtual;
  52.            procedure   Read ( var Buf; Count:Word ); virtual;
  53.  
  54.            function    ReplaceExt(NExt: ExtStr; Force:Boolean):PathStr; virtual;
  55.            procedure   Rename(NewName:PathStr); virtual;
  56.            procedure   Cut(At:Longint); virtual;
  57.  
  58.            function    IsOpen:boolean; virtual;
  59.            function    IsConsole:Boolean; virtual;
  60.  
  61.            function    GetAttr:Word;          virtual;
  62.            procedure   SetAttr(NewAttr:Word); virtual;
  63.            function    GetHandle:Word;        virtual;
  64.            function    GetDate:Longint;       virtual;
  65.            function    GetLength:Longint;     virtual;
  66.            function    GetDir:DirStr;         virtual;
  67.            function    GetName:NameStr;       virtual;
  68.            function    GetExt:ExtStr;         virtual;
  69.            function    GetNameExt:PathStr;    virtual;
  70.            function    GetDirName:PathStr;    virtual;
  71.            function    GetPath:PathStr;       virtual;
  72.            function    GetPString:PString;       virtual;
  73.          end;
  74.  
  75.          PTextFile = ^TTextFile;
  76.          TTextFile = object( TFile )
  77.            FText : ^Text;
  78.            constructor Init(AName:PathStr);
  79.            function    Open:Boolean; virtual;
  80.            function    Create:Boolean; virtual;
  81.            procedure   Close; virtual;
  82.            function    Eof:Boolean; virtual;
  83.          end;
  84.  
  85.